import request from '@/utils/request'
import method from '@/utils/config'

const urlPrefix = 'crm/'

const productApi = {
  // 按条件分页查询
  listByParamsForTable: urlPrefix + 'product/listByParamsForTable',
  // 修改产品状态（上下架）
  changeStatus: urlPrefix + 'product/changeStatus',
  // 插入一条数据,返回主键
  saveHasKey: urlPrefix + 'product/saveHasKey',
  // 根据id批量删除
  deleteBatchByIds: urlPrefix + 'product/deleteBatchByIds',
  // 根据主键有选择性更新记录
  updateByPrimaryKeySelective: urlPrefix + 'product/updateByPrimaryKeySelective',
  // 根据id查询记录
  selectByPrimaryKey: urlPrefix + 'product/selectByPrimaryKey',
  // 修改产品负责人
  changeOwnerUser: urlPrefix + 'product/changeOwnerUser',
  // 查询已经上架的产品
  listBySaleForTable: urlPrefix + 'product/listBySaleForTable'
}

/**
 * 分页按条件查询
 * @param page 当前页数
 * @param limit 每页条数
 * @param data 条件对象
 * @returns {*}
 */
export function listByParamsForTable(queryParams) {
  return request({
    url: productApi.listByParamsForTable,
    method: method.POST,
    data: {
      page: queryParams.page,
      limit: queryParams.limit,
      search: queryParams.search
    }
  })
}

/**
 * 插入一条数据,返回主键
 * @param data 要插入的数据
 * @returns {*}
 */
export function saveHasKey(data) {
  return request({
    url: productApi.saveHasKey,
    method: method.POST,
    data
  })
}

/**
 * 根据id批量删除
 * @param ids id集合
 * @returns {*}
 */
export function deleteBatchByIds(ids) {
  return request({
    url: productApi.deleteBatchByIds,
    method: method.DELETE,
    data: ids
  })
}

/**
 * 根据主键有选择性更新记录
 * @param data 要更新的记录
 * @returns {*}
 */
export function updateByPrimaryKeySelective(data) {
  return request({
    url: productApi.updateByPrimaryKeySelective,
    method: method.PUT,
    data
  })
}

/**
 * 根据id查询记录
 * @param id 查询id
 * @returns {*}
 */
export function selectByPrimaryKey(id) {
  return request({
    url: productApi.selectByPrimaryKey,
    method: method.GET,
    params: {
      id
    }
  })
}
